tconfigfandomcom-20200213-history
To-Do List
Beta Download the latest Beta release here Beta releases are there for you to help test new features. The features below listed as Finished should be available in the beta. If you try the beta, please post a comment about whether things are working or are broken. Thanks! Release 16 Finished: *PreDrawAll method has been removed entirely, until we can determine how to implement it without causing crashes. *Implemented new prefix system, with vanilla prefixes rewritten (thanks goes to Triple Blah for the help). Custom prefixes aren't supported yet, but I want to make sure that the system and the vanilla prefixes are working fine first. *Fixed Issue where the server would read recieved tile data wrong *Custom advanced tiles can now have multiple lines of frames , frameNumber now goes down a line after every time it finishes a line : This broke multiplayer. We need to update the modpack builder to analyze tile textures and save some additional data, since the server doesn't have access to textures. *Fixed modpack builder item/tile/projectile existence check functions *Fixed multiplayer issue with random tile drops and pink textures. *Made the Mod Update screen / process use threads and display progress *Improved error messages for global mod codes for NPCs, Items, Projectiles, to include the mod name, for easier debugging and figuring out which mod isn't working. *Items **added public bool CanEquip(Player P) , return true to allow the player to equip an item , false otherwise. **added public void OnEquip(Player P) , runs on the moment you equip the item **added public void OnUnequip(Player P) , runs on the moment you unequip the item **added public bool AccCheck(Player P,slot i) , allows to override the '1 accessory of same kind' rule , return true to allow equipping the accessory in the slot i(3,4,5,6,7) , or false otherwise. **added public void VanityEffects(Player P) , same as Effects , only runs on the items in your vanityslot. *Modified custom NPC spawn logic. In order to let all mods have equal opportunity to spawn NPCs, the following happens now: When SpawnNPC() is called, and returns true, the NPC is added to a list. SpawnNPC() is called for all custom NPCs, and then a random NPC is chosen from the 'success' list and spawned. With this method, there should be greater variety of NPCs when you have many mods enabled. *The method for which prefixes get randomly chosen is being improved/fixed to be the way it was before. Planned: *Implement support for custom prefixes. **Create a fallback prefix for prefixes that aren't loaded. I think I'll have it add the prefix "Mysterious" to the item name. When you load the appropriate mod again, the prefix should appear as usual. This is similar to how items appear as angel statues when they are unrecognized. **Determine how prefixes will be created. Prefixes can be created in code easily, so perhaps there may be a new CS file, or usage of an existing one (perhaps ModGeneric) that can have a GeneratePrefixes() method, which returns an array of prefixes. tConfig will then handle storing the prefixes. **To add to that, prefixes could also be created in separate .cs files or INI files. This might be the better way... **Consider pros and cons of allowing prefixes to be object instances for each item. Currently the system is designed so that prefixes are static, but it would be possible to make it object-oriented and allow prefixes to intercept method calls for the item/player. *Option to manually specify 7-zip location in Config Mod.ini *Update modpack builder to read source files from a different directory. Probably should make it configurable in the Config Mod.ini file. *Create a way to create a collection of mods; essentially like a zip file consisting of .obj files. The collection would appear as one mod in the menu, even though it consists of many mods. *Update the town NPC interface to allow for more custom NPCs Bugs *'Spawn point gets reset (multiplayer)' *Custom Doors can only be placed in front of walls (low priority) *Multiplayer Bug related to tile PretendType setting? *UseTile method getting inaccurate x and y values - This appears to be getting the right values... *The projectile xoffset and yoffset values are swapped? *Issue causing prefix tooltips to display things like + or - infinity. *Glitch in multiplayer in which you can't see other players' custom armors on them? *Multiplayer Glitch - threw an item at another player, but it didn't go into their inventory. It just disappeared. Ideas *Tiles - Add INI option for specifying which item to drop based on which frame the tile is on *Add a method for modifying how critical hits affect damage *Ability to specify settings for audio files, either with INI files, or in code *New Prefix system; re-writing existing prefixes, and making it easy for modders to add new ones. This, in fact, is ''almost done. ''The system itself is pretty much finished, but only a portion of the default prefixes have been rewritten - all of the prefixes need to be re-written before this can be implemented. Then I have to make sure the ID values map to the old ID values. And finally, I'll need to create a system for saving prefixes names and IDs, just like it currently does with tiles and items, and have a way of keeping a prefix on an item even if the mod for that prefix isn't loaded. Anyway, I haven't yet determined whether a new prefix system is even going to be useful for anyone, so that's why this is being set aside for now. *Add a method that lets you override the NPC spawning code; useful if you don't want any of the default NPCs to spawn *Support for custom Boss music *Update the server to use a separate file for configuring which mods are loaded, and also add a menu option for choosing which mods are loaded. *Ability to rebuild a large selection of mods all at once. Maybe even let it make use of the new .obj format by automatically extracting the source so you don't have to manually do that. *If a mod is outdated, and it is in the new format with the source included, have tConfig automatically rebuild it. *Remove custom NPC from world when loading it without the NPC's associated mod. Category:Surfpup